/*
13.5
给定下面的类框架，编写一个拷贝构造函数，拷贝所有成员。
你的构造函数应该动态分配一个新的string（407页），
并将对象拷贝到ps指向的位置，而不是拷贝ps本身：
class HasPtr{
public:
	HasPtr(const std::string &s = std::string()):
		ps(new std::string(s)),i(0){ }
private:
	std::string *ps;
	int i;
};
*/

HasPtr::Hasptr(const Hasptr &hp):ps(new string(*(hp.ps)), i(hp.i) { }


拷贝构造函数后面的变量有什么作用?

其函数体需要为空吗?
- 可以不为空